import http from 'wechat-http'
// 接口基础地址
http.baseURL='https://slwl-api.itheima.net'
// 请求拦截器
http.intercept.request = (options) => {
  // 指定默认的头信息
  const defaultHeader = {}
  // 权限认证
  const token = getApp().getToken()
  // console.log(token)
  if (token) {
    defaultHeader.Authorization = token
  }
  // 合并头信息
  options.header = Object.assign({}, defaultHeader, options.header)
  // 拦截器处理后的请求参数
  return options
}
// 响应拦截器
http.intercept.response = async ({ statusCode, data, config }) => {
  if (data.code === 401) {
    const app = getApp()
    // 调用接口获取新的 token
    const res = await http({
      url: '/driver/login/account',
      method: 'POST',
      header: {
        Authorization: app.getToken('token'),
      }
    })
    app.setToken('token', res.token)
    config = Object.assign(config, {
      header: {
        // 更新后的 token
        Authorization: res.token,
      },
    })
    // 重新发请求
    return http(config)
  }
  if (data.code === 200) {
    return data.data
  } else {
    wx.$toast(data.msg || '请求失败')
    return Promise.reject(data.msg)
  }
}

// 挂载到 wx 全局命名空间
wx.$http = http

// 也可作为模块导出
// export default http